/**
 * vue.config.js
 * vue.config.js 是一个可选的配置文件，如果项目的 (和 package.json 同级的) 根目录中存在这个文件，那么它会被 @vue/cli-service 自动加载。
 * 你也可以使用 package.json 中的 vue 字段，但是注意这种写法需要你严格遵照 JSON 的格式来写。
 */
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
  // 部署应用包时的基本 URL。
  // 测试(外网)
  // axios.defaults.baseURL = 'http://gw.test.itwecard.com'
  // 测试(内网)
  // axios.defaults.baseURL = 'http://gw.itwecard.test'
  // publicPath: process.env.NODE_ENV === 'production'
  // ? '/admin'
  // : '/admin',
  publicPath: `${process.env.VUE_APP_publicPath}`, // "/dist-admin/", // 根目录
  outputDir: `${process.env.VUE_APP_outputDir}`, // 构建输入目录
  assetsDir: 'static',
  // 开发环境下端口、地址等相关配置
  devServer: {
    // host: '0.0.0.0',
    // port: 8080,
    // https: false,
    // hotOnly: false,
    // before: app => { }
  },
  // 样式配置
  css: {
    loaderOptions: {
      less: {
        javascriptEnabled: true,
      },
      // 这里的选项会传递给 css
      css: {
        // data: `@import '@/assets/style/base.css';` // 基本样式
      },
      // 这里的选项会传递给 less-loader
      sass: {
        data: `@import '@/assets/css/common.scss';` // 公共样式
      }
    }
  },
  productionSourceMap:false,
  configureWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
        // 为生产环境修改配置...
        config.plugins.push(
            //生产环境自动删除console
            new UglifyJsPlugin({
                uglifyOptions: {
                    compress: {
                        drop_debugger: true,
                        drop_console: true,
                    },
                }
             })
        );
    }
},
}
